fix(translations): modified Spanish translations to be gender neutral#15796
fix(translations): modified Spanish translations to be gender neutral#15796paulpopus merged 2 commits intopayloadcms:mainfrom
Conversation
… wherever possible
There was a problem hiding this comment.
Pull request overview
Updates the Spanish (es) locale strings to reduce gendered phrasing and improve agreement when interpolating collection labels/titles in user-facing UI copy.
Changes:
- Rephrased multiple confirmation/notification messages to more gender-neutral wording (e.g., shifting away from “¿Estás seguro?” patterns).
- Adjusted label/title interpolation patterns in delete/restore/trash flows to avoid article/gender agreement issues with
{{label}}. - Updated several “create/duplicate/update/trash” success and action strings across general/folder/version sections.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
| 'Está a punto de mover <1>{{count}} {{label}}</1> a <2>{{toFolder}}</2>. ¿Deseas continuar?', | ||
| moveItemsToRootConfirmation: | ||
| 'Estás a punto de mover <1>{{count}} {{label}}</1> a la carpeta raíz. ¿Estás seguro?', | ||
| 'Está a punto de mover <1>{{count}} {{label}}</1> a la carpeta raíz. ¿Deseas continuar?', | ||
| moveItemToFolderConfirmation: | ||
| 'Estás a punto de mover <1>{{title}}</1> a <2>{{toFolder}}</2>. ¿Estás seguro?', | ||
| 'Está a punto de mover <1>{{title}}</1> a <2>{{toFolder}}</2>. ¿Deseas continuar?', | ||
| moveItemToRootConfirmation: | ||
| 'Estás a punto de mover <1>{{title}}</1> a la carpeta raíz. ¿Estás seguro?', | ||
| 'Está a punto de mover <1>{{title}}</1> a la carpeta raíz. ¿Deseas continuar?', |
There was a problem hiding this comment.
Estas confirmaciones mezclan "Está a punto de..." (formal/impersonal) con "¿Deseas continuar?" (tú). Conviene unificar el tratamiento en todas las confirmaciones (p. ej., "Estás a punto de... ¿Deseas continuar?" o "Está a punto de... ¿Desea continuar?") para no mostrar mensajes inconsistentes al usuario.
| updatedLabelSuccessfully: '{{label}} actualizado con éxito.', | ||
| updatedSuccessfully: 'Actualizado con éxito.', | ||
| updatedCountSuccessfully: '{{count}} {{label}} se actualizaron con éxito.', | ||
| updatedLabelSuccessfully: '{{label}} se actualizaron con éxito.', |
There was a problem hiding this comment.
updatedLabelSuccessfully se usa con labels.singular (p. ej. en QueryPresetBar) y el string actual está en plural ("se actualizaron"). Esto producirá un mensaje gramaticalmente incorrecto para etiquetas en singular; debería ser singular o reescribirse para no depender del número.
| // NOTE: Unused? Removed the "nuevo" for when it is used, but should probably be reviewed | ||
| uploadNewLabel: 'Subir {{label}}', |
There was a problem hiding this comment.
Se están introduciendo comentarios "NOTE" en el archivo de traducciones. En el resto de archivos de packages/translations/src/languages/ no se suelen mantener este tipo de notas inline; sería mejor retirar estas notas y (si hace falta) registrar el seguimiento en un issue/PR separado para mantener las traducciones limpias.
| // NOTE: All of these could be improved. I decided to go with {{title}} ({{label}}), but I'm | ||
| // sure there are better alternatives I haven't think about | ||
| aboutToDelete: 'Se eliminará <1>{{title}}</1> ({{label}}). ¿Desea continuar?', |
There was a problem hiding this comment.
El comentario en inglés introduce ruido en un archivo de traducciones y además tiene un error gramatical ("I haven't think" -> "I haven't thought"). Si se mantiene, corrige la redacción; idealmente, elimina el comentario y deja el contexto en un issue/PR para evitar notas colgadas en el código.
| // NOTE: could clash, but found no use of it on the codebase | ||
| noRowsSelected: 'No se ha seleccionado ningún {{label}}.', |
There was a problem hiding this comment.
La nota "NOTE" indica que noRowsSelected podría entrar en conflicto o estar sin uso, pero deja la duda en el código. Si hay riesgo real de colisión o falta de uso, es preferible validarlo y eliminar/ajustar la clave o mover la discusión a un issue en lugar de mantener notas en el archivo de traducciones.
| noOptions: 'Sin opciones', | ||
| noResults: | ||
| 'No se encontró ningún {{label}}. Puede que aún no existan o que no coincidan con los filtros aplicados.', | ||
| 'No se encontró {{label}}. Puede que aún no existan o que no coincidan con los filtros aplicados.', |
There was a problem hiding this comment.
general:noResults se usa con una label en plural (p. ej. labels.plural en RelationshipTable). Con el texto actual ("No se encontró {{label}}"), el verbo queda en singular y será incorrecto para plural. Ajusta a una forma plural (p. ej., "No se encontraron {{label}}") o reescribe para que funcione siempre con plural.
| // NOTE: Could clash, but only seems to be used in QueryPresetBar with "Preset" | ||
| // A better option would be "Crear {{label}}" or "Agregar {{label}}" depending | ||
| // on the context | ||
| newLabel: 'Nuevo {{label}}', |
There was a problem hiding this comment.
general:newLabel se usa con una label configurable (QueryPresetBar) y el texto actual fuerza género masculino ("Nuevo {{label}}"). Si la etiqueta es femenina, quedará discordante; conviene cambiarlo por una alternativa neutral (p. ej. "Crear {{label}}"/"Agregar {{label}}") para evitar concordancia. Además, evita dejar el comentario "NOTE" aquí y registra el contexto en un issue si aún requiere revisión.
| // NOTE: does work because it's only used with label = ''. The user can infer that the blank label is "items" | ||
| // Could be improved by replacing label with "items" or "elementos" |
There was a problem hiding this comment.
Este bloque "NOTE" indica un posible problema (label vacío) pero lo deja como deuda técnica en el archivo de traducciones. Para mantener el código limpio, elimina la nota y, si realmente hace falta mejorar el string, registra la tarea en un issue y ajusta la traducción en el mismo cambio.
| copyRow: 'Copiar fila', | ||
| copyWarning: | ||
| 'Estás a punto de sobrescribir {{to}} con {{from}} para {{label}} {{title}}. ¿Estás seguro?', | ||
| 'Está a punto de sobrescribir {{to}} con {{from}} para {{label}} {{title}}. ¿Deseas continuar?', |
There was a problem hiding this comment.
Aquí también se mezcla "Está a punto de..." con "¿Deseas continuar?". Para consistencia gramatical, unifica el tratamiento (p. ej. "Estás a punto de... ¿Deseas continuar?" o "Está a punto de... ¿Desea continuar?") en este mensaje.
| youAreReceivingResetPassword: | ||
| 'Estás recibiendo este correo porque tú (o alguien más) ha solicitado restablecer la contraseña de tu cuenta. Por favor haz clic en el siguiente enlace o pégalo en tu navegador para completar el proceso:', | ||
| 'Está recibiendo este correo porque se solicitó restablecer la contraseña de tu cuenta. Por favor haz clic en el siguiente enlace o pégalo en tu navegador para completar el proceso:', | ||
| youDidNotRequestPassword: |
There was a problem hiding this comment.
La frase mezcla tratamiento formal e informal: "Está recibiendo..." (usted/impersonal) pero luego usa "tu cuenta" y el imperativo "haz clic" (tú). Para mantener consistencia, usa una construcción impersonal o el tratamiento de "tú" en toda la oración (p. ej., "Estás recibiendo... porque se solicitó..."), manteniendo el resto del texto igual.
- Unify register to formal/impersonal (Está + ¿Desea continuar?)
- Fix singular/plural agreement in success messages
- Remove inline NOTE comments
- Change newLabel to gender-neutral "Crear {{label}}"
|
Thanks for the contribution! I pushed a commit to address the review feedback: Changes made:
The PR should be ready for another review now. |
…payloadcms#15796) Some user-facing messages used masculine pronouns. These were replaced with gender-neutral phrasing wherever possible (e.g., “¿Está seguro?” was changed to “¿Desea continuar?”). There were also gender agreement issues in messages related to collection labels. This can lead to inconsistencies when the collection name is feminine. For example, if you had a “Inscripciones” collection, the “create new” button would display “crear nuevo Inscripción.” Some items still require review. In the _general_ category, I chose to display certain messages using the `{{title}} ({{label}})` format (e.g., general:aboutToDelete). While acceptable, this was an arbitrary decision and may not be the most aesthetically pleasing approach. Some notes where left dangling in the code as comments regarding possible improvements. --------- Co-authored-by: Jarrod Flesch <jarrodmflesch@gmail.com>
|
🚀 This is included in version v3.83.0 |
…payloadcms#15796) Some user-facing messages used masculine pronouns. These were replaced with gender-neutral phrasing wherever possible (e.g., “¿Está seguro?” was changed to “¿Desea continuar?”). There were also gender agreement issues in messages related to collection labels. This can lead to inconsistencies when the collection name is feminine. For example, if you had a “Inscripciones” collection, the “create new” button would display “crear nuevo Inscripción.” Some items still require review. In the _general_ category, I chose to display certain messages using the `{{title}} ({{label}})` format (e.g., general:aboutToDelete). While acceptable, this was an arbitrary decision and may not be the most aesthetically pleasing approach. Some notes where left dangling in the code as comments regarding possible improvements. --------- Co-authored-by: Jarrod Flesch <jarrodmflesch@gmail.com>
Some user-facing messages used masculine pronouns. These were replaced with gender-neutral phrasing wherever possible (e.g., “¿Está seguro?” was changed to “¿Desea continuar?”).
There were also gender agreement issues in messages related to collection labels. This can lead to inconsistencies when the collection name is feminine. For example, if you had a “Inscripciones” collection, the “create new” button would display “crear nuevo Inscripción.”
Some items still require review. In the general category, I chose to display certain messages using the
{{title}} ({{label}})format (e.g., general:aboutToDelete). While acceptable, this was an arbitrary decision and may not be the most aesthetically pleasing approach.Some notes where left dangling in the code as comments regarding possible improvements.